#ifndef B2D_BASERESOURCE_H
#define B2D_BASERESOURCE_H

#include "IResource.h"
#include "ResourceFactory.h"

NS_B2D_BEGIN

////////////////////////////////////////////////////////////////////////////////////////////////////
/// \brief	Base Implementation of IResource.
////////////////////////////////////////////////////////////////////////////////////////////////////
class B2D_API BaseResource
	: public IResource
{
	B2D_INTERFACE(BaseResource)
	B2D_OBJECT

protected:
	StringId mName;
	Tag mTag;

public:
	// ::IResource
	const StringId& getName(void) const { return mName; }
	void setName(const StringId& name);
	const Tag& getTag(void) const { return mTag; }
	void setTag(const Tag& tag) { mTag = tag; }
};

NS_B2D_END

#endif